1. Field of the Invention
The invention is related to the field of data storage systems, and in particular, to the randomization and grading of user data to improve system performance.
2. Statement of the Problem
Data storage systems include disk drives and tape drives. These storage drives encode user data and then write the encoded user data to storage media. When the data is later requested, the drive reads the encoded user data from the storage media and recovers the user data through a reciprocal decoding technique. Encoding often entails the conversion of user data into a series of transitions that are written to a disk or tape. For example, a transition may represent a xe2x80x9conexe2x80x9d, and a lack of a transition may represent a xe2x80x9czeroxe2x80x9d. Some common encoding techniques are Non-Return to Zero Inverted (NRZI) and Partial Response Four (PR4).
In some cases, the encoded user data includes a string of zeros that are represented by a flat signal with no transitions. This lack of transitions creates timing and gain problems when recovering the user data. To relieve this problem, Run Length Limit (RLL) algorithms are used during the encoding process to systematically replace strings of zeros with special codes that include some transitions. Although RLL encoding improves timing and gain performance, it also requires additional bandwidth to carry RLL overhead information. This RLL bandwidth usage lowers the storage capacity of the data storage system.
Randomization is an encoding process where the user data is altered based on a numerical pattern that repeats over time. Randomization tends to reduce the length of zero runs, and thus, reduces the need for RLL encoding. Typically, a Linear Feedback Shift Register (LFSR) generates the numerical pattern based on a numerical seed that is initially stored in the LFSR. Unfortunately, the use of randomization has not been effectively implemented to significantly reduce and possibly eliminate the need for RLL encoding. As a result, bandwidth remains committed to RLL overhead. This loss of bandwidth lowers the storage capacity of the data storage system.
The invention solves the above problems with circuitry that effectively uses randomization to significantly reduce, or even eliminate, the need for RLL encoding. As a result, the circuitry reduces or eliminates the bandwidth required for RLL encoding. This bandwidth savings increases the storage capacity of the data storage system.
In some examples of the invention, data storage system circuitry comprises randomizer circuitry and grading circuitry. The randomizer circuitry concurrently generates multiple randomized versions of the user data. The grading circuitry selects one of the multiple randomized versions of the user data for data storage. During user data retrieval, decoding circuitry decodes the selected randomized version of the user data. In some examples of the invention, the grading circuitry selects the selected randomized version of the user data based on zero run characteristics. In some examples of the invention, the user data is not encoded with an RLL algorithm.
In some examples of the invention, the randomizer circuitry concurrently generates multiple numbers and uses the multiple numbers to concurrently generate the multiple randomized versions of the user data. The randomizer circuitry may comprise a Feedback Shift Register (FSR) that generates a numerical pattern and phase circuitry that concurrently generates different phases of the numerical pattern to concurrently generate the multiple numbers. In some examples of the invention, the grading circuitry encodes a key and an associated error correction code into the selected randomized version of the user data. The key indicates one of the numbers used to randomize the selected randomized version of the user data.
In some examples of the invention, the data storage system circuitry comprises disk drive system circuitry. The disk drive system circuitry comprises randomizer circuitry and grading circuitry. The randomizer circuitry generates multiple randomized versions of each of the blocks in a data sector. The grading circuitry selects from the randomized versions of the blocks based on zero run characteristics to form a selected randomized version of the data sector. The grading circuitry may encode keys and an associated error correction code into the selected randomized version of the data sector where the keys indicate numbers used to randomize the selected blocks that form the selected randomized version of the data sector. The grading circuitry may distribute symbols evenly within the selected randomized version of the data sector to encode the keys and the associated error correction code.